package com.kingtone.rongji.biz;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Order实体类
 * @author hp
 *
 */
public class Order implements Serializable {
	

	private static final long serialVersionUID = 1L;
	int  ArrivePay; //是否货到付款 0-非货到付款  1-货到付款订单
	String CustomerUserName = null; //下单收货人名称
	String InvoiceTitle = null; //发票抬头
	int IsInvoice; //是否开发票  1 = 需要开发票  0 = 不需要开发票
	String OrderDate; //订单创建日期
	String OrderNumber = null; //订单编号
	int DiscountAmount;//订单总折扣
	double OrderTotalAmount;//订单合计金额
	double OrderPayAmount;//订单应付金额
	double ShippingCharge;//订单运费
	String ProductNameList= null;//订单产品名称列表
	String ReceiveAddress = null; //收货人地址
	String ReceiveCellPhone = null;//收货人手机
	String ReceivePhone = null; //收货人电话
	int  RegionId;//收货人区域编号
	String  RegionName = null;//区域名称
	int ShippingModeId;//订单运输方式编号
	String ShippingModeName  = null;//订单运输方式名称
	int ShoppingCartId;//购物车编号
	String UserMemo = null;//用户订单备注
	String VerifyDate;//审核订单日期
	int VerifyUser; //审核订单人员编号
	String VoidDate; //作废订单时间
	int VoidReasonType;//取消订单原因类型
	int VoidUser; //作废订单人
	String ZipCode = null;//邮政编码
	ArrayList<Product> ProductList = null;//订单中的商品列表
	ArrayList<GiftCard>  GiftCardList = null; //礼品卡列表
	
	int OrderStatus; //订单状态
	/**
	 待确认 = 0
	 待支付 = 1
	  已审核 = 2
	  已付款 = 3(在线付款)
	  待出库 = 4
	  已出库 = 5
	  已发货（等待收货） = 6
	  已签收 = 7 
	  已收款（货到付款） = 8
	  已结束 = 9
	  用户手动取消 = 13
	  系统自动作废 = 14
	  客服手动取消 = 15
	 */
	public final static int ORDER_STATUS_WAITNG_CONFIRM = 0;
	public final static int ORDER_STATUS_WAITNG_PAY = 1;
	public final static int ORDER_STATUS_ALREADY_APPLY = 2;
	public final static int ORDER_STATUS_PAYMENTS_MADE = 3;
	public final static int ORDER_STATUS_FROM_STORAGE = 4;
	public final static int ORDER_STATUS_HAS_STORAGE = 5;
	public final static int ORDER_STATUS_HAS_DELIVER = 6;
	public final static int ORDER_STATUS_HAS_CHECKED = 7;
	public final static int ORDER_STATUS_HAS_RECEIVED = 8;
	public final static int ORDER_STATUS_HAS_FINISHED = 9;
	public final static int ORDER_STATUS_USER_CANCED = 13;
	public final static int ORDER_STATUS_SYSTEM_DESTORY = 14;
	public final static int ORDER_STATUS_CS_CANCEL = 15;
	
	public static String getOrderStatus(int status)
	{
		String strStatus = null;
		switch(status)
		{
		case ORDER_STATUS_WAITNG_CONFIRM:
			strStatus = "待确认";
			break;
		case ORDER_STATUS_WAITNG_PAY:
			strStatus = "待支付";
			break;
		case ORDER_STATUS_ALREADY_APPLY:
			strStatus = "已审核";
			break;
		case ORDER_STATUS_PAYMENTS_MADE:
			strStatus = "已付款";
			break;
		case ORDER_STATUS_FROM_STORAGE:
			strStatus = "待出库";
			break;
		case ORDER_STATUS_HAS_STORAGE:
			strStatus = "已出库";
			break;
		case ORDER_STATUS_HAS_DELIVER:
			strStatus = "已发货";
			break;
		case ORDER_STATUS_HAS_CHECKED:
			strStatus = "已签收";
			break;
		case ORDER_STATUS_HAS_RECEIVED:
			strStatus = "已收款";
			break;
		case ORDER_STATUS_HAS_FINISHED:
			strStatus = "已结束";
			break;
		case ORDER_STATUS_USER_CANCED:
			strStatus = "用户手动取消";
			break;
		case ORDER_STATUS_SYSTEM_DESTORY:
			strStatus = "系统自动作废";
			break;
		case ORDER_STATUS_CS_CANCEL:
			strStatus = "客服手动取消";
			break;
			
		}
		return strStatus;
		
	}

	public int getArrivePay()
	{
		return ArrivePay;
	}

	public void setArrivePay(int arrivePay)
	{
		ArrivePay = arrivePay;
	}

	public String getCustomerUserName()
	{
		return CustomerUserName;
	}

	public void setCustomerUserName(String customerUserName)
	{
		CustomerUserName = customerUserName;
	}

	public String getInvoiceTitle()
	{
		return InvoiceTitle;
	}

	public void setInvoiceTitle(String invoiceTitle)
	{
		InvoiceTitle = invoiceTitle;
	}

	public int getIsInvoice()
	{
		return IsInvoice;
	}

	public void setIsInvoice(int isInvoice)
	{
		IsInvoice = isInvoice;
	}

	public String getOrderDate()
	{
		return OrderDate;
	}

	public void setOrderDate(String orderDate)
	{
		OrderDate = orderDate;
	}

	public String getOrderNumber()
	{
		return OrderNumber;
	}

	public void setOrderNumber(String orderNumber)
	{
		OrderNumber = orderNumber;
	}

	public int getDiscountAmount()
	{
		return DiscountAmount;
	}

	public void setDiscountAmount(int discountAmount)
	{
		DiscountAmount = discountAmount;
	}

	public double getOrderTotalAmount()
	{
		return OrderTotalAmount;
	}

	public void setOrderTotalAmount(double orderTotalAmount)
	{
		OrderTotalAmount = orderTotalAmount;
	}

	public double getOrderPayAmount()
	{
		return OrderPayAmount;
	}

	public void setOrderPayAmount(double orderPayAmount)
	{
		OrderPayAmount = orderPayAmount;
	}

	public double getShippingCharge()
	{
		return ShippingCharge;
	}

	public void setShippingCharge(double shippingCharge)
	{
		ShippingCharge = shippingCharge;
	}

	public String getProductNameList()
	{
		return ProductNameList;
	}

	public void setProductNameList(String productNameList)
	{
		ProductNameList = productNameList;
	}

	public String getReceiveAddress()
	{
		return ReceiveAddress;
	}

	public void setReceiveAddress(String receiveAddress)
	{
		ReceiveAddress = receiveAddress;
	}

	public String getReceiveCellPhone()
	{
		return ReceiveCellPhone;
	}

	public void setReceiveCellPhone(String receiveCellPhone)
	{
		ReceiveCellPhone = receiveCellPhone;
	}

	public String getReceivePhone()
	{
		return ReceivePhone;
	}

	public void setReceivePhone(String receivePhone)
	{
		ReceivePhone = receivePhone;
	}

	public int getRegionId()
	{
		return RegionId;
	}

	public void setRegionId(int regionId)
	{
		RegionId = regionId;
	}

	public String getRegionName()
	{
		return RegionName;
	}

	public void setRegionName(String regionName)
	{
		RegionName = regionName;
	}

	public int getShippingModeId()
	{
		return ShippingModeId;
	}

	public void setShippingModeId(int shippingModeId)
	{
		ShippingModeId = shippingModeId;
	}

	public String getShippingModeName()
	{
		return ShippingModeName;
	}

	public void setShippingModeName(String shippingModeName)
	{
		ShippingModeName = shippingModeName;
	}

	public int getShoppingCartId()
	{
		return ShoppingCartId;
	}

	public void setShoppingCartId(int shoppingCartId)
	{
		ShoppingCartId = shoppingCartId;
	}

	public String getUserMemo()
	{
		return UserMemo;
	}

	public void setUserMemo(String userMemo)
	{
		UserMemo = userMemo;
	}

	public String getVerifyDate()
	{
		return VerifyDate;
	}

	public void setVerifyDate(String verifyDate)
	{
		VerifyDate = verifyDate;
	}

	public int getVerifyUser()
	{
		return VerifyUser;
	}

	public void setVerifyUser(int verifyUser)
	{
		VerifyUser = verifyUser;
	}

	public String getVoidDate()
	{
		return VoidDate;
	}

	public void setVoidDate(String voidDate)
	{
		VoidDate = voidDate;
	}

	public int getVoidReasonType()
	{
		return VoidReasonType;
	}

	public void setVoidReasonType(int voidReasonType)
	{
		VoidReasonType = voidReasonType;
	}

	public int getVoidUser()
	{
		return VoidUser;
	}

	public void setVoidUser(int voidUser)
	{
		VoidUser = voidUser;
	}

	public String getZipCode()
	{
		return ZipCode;
	}

	public void setZipCode(String zipCode)
	{
		ZipCode = zipCode;
	}

	public ArrayList<Product> getProductList()
	{
		return ProductList;
	}

	public void setProductList(ArrayList<Product> productList)
	{
		ProductList = productList;
	}

	public ArrayList<GiftCard> getGiftCardList()
	{
		return GiftCardList;
	}

	public void setGiftCardList(ArrayList<GiftCard> giftCardList)
	{
		GiftCardList = giftCardList;
	}

	public int getOrderStatus()
	{
		return OrderStatus;
	}

	public void setOrderStatus(int orderStatus)
	{
		OrderStatus = orderStatus;
	}
}
